home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / cli / mx2src.arc / RUN.MOD < prev    next >
Text File  |  1989-01-05  |  2KB  |  51 lines

  1.  
  2. (*              Copyright 1988 fred brooks LogicTek             *)
  3. (*                                                              *)
  4. (*                                                              *)
  5. (*   First Release                      3/26/88-FGB             *)
  6. (*                                                              *)
  7.  
  8. MODULE run; (* MX2 program pterm code buffer program *)
  9. FROM    GEMDOS  IMPORT  Term,Exec,ExecMode;
  10. FROM    GEMX    IMPORT  BasePageAddress;
  11. FROM    SCANNER IMPORT  scinit,nxparm,ltext,etext,bkparm;
  12. FROM    SYSTEM  IMPORT  ADR,ADDRESS;
  13. FROM    Strings IMPORT  String,Length,Pos,Concat;
  14. VAR     i                       :       INTEGER;
  15.         p                       :       CARDINAL;
  16.         ok                      :       BOOLEAN;
  17.         command,name,tail,temp  :       String;
  18. BEGIN
  19.         FOR i:=1 TO 79 DO
  20.             command[i-1]:=BasePageAddress^.CmdLine[i];
  21.         END;
  22.         command[ORD(BasePageAddress^.CmdLine[0])]:=CHAR(0);
  23.         scinit(ADR(command),SIZE(command));
  24.         nxparm;
  25.         ltext(ADR(name),SIZE(name));
  26.         nxparm;
  27.         etext(ADR(tail[1]),SIZE(tail));
  28.         bkparm;
  29.         etext(ADR(temp),SIZE(temp));
  30.         tail[0]:=CHAR(Length(temp));
  31.         IF Pos(name,".",0,p) THEN
  32.                 Exec(loadExecute,name,tail,"",i);
  33.         ELSE
  34.                 temp:=name;
  35.                 Concat(name,".prg",name);
  36.                 Exec(loadExecute,name,tail,"",i);
  37.                 IF i=(-33) THEN
  38.                         name:=temp;
  39.                         Concat(name,".tos",name);
  40.                         Exec(loadExecute,name,tail,"",i);
  41.                 END;
  42.                 IF i=(-33) THEN
  43.                         name:=temp;
  44.                         Concat(name,".ttp",name);
  45.                         Exec(loadExecute,name,tail,"",i);
  46.                 END;
  47.         END;
  48.         ok:=Term(i);
  49. END     run.
  50.  
  51.